<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <title>Debugging Tips</title>
  <link rel="stylesheet" type="text/css" href="mesa.css">
</head>
<body>

<div class="header">
  <h1>The Mesa 3D Graphics Library</h1>
</div>

<iframe src="contents.html"></iframe>
<div class="content">

<h1>Debugging Tips</h1>

<p>
   Normally Mesa (and OpenGL) records but does not notify the user of
   errors.  It is up to the application to call
   <code>glGetError</code> to check for errors.  Mesa supports an
   environment variable, MESA_DEBUG, to help with debugging.  If
   MESA_DEBUG is defined, a message will be printed to stdout whenever
   an error occurs.
</p>

<p>
   More extensive error checking is done when Mesa is compiled with the
   DEBUG symbol defined.  You'll have to edit the Make-config file and
   add -DDEBUG to the CFLAGS line for your system configuration.  You may
   also want to replace any optimization flags with the -g flag so you can
   use your debugger.  After you've edited Make-config type 'make clean'
   before recompiling.
</p>
<p>
   In your debugger you can set a breakpoint in _mesa_error() to trap Mesa
   errors.
</p>
<p>
   There is a display list printing/debugging facility.  See the end of
   src/dlist.c for details.
</p>

</div>
</body>
</html>
